package com.zjw.algorithm;


import com.zjw.algorithm.utils.ListNode;
import com.zjw.algorithm.utils.Utils;

/**
 * 实现一种算法，找出单向链表中倒数第 k 个节点。返回该节点的值。
 */
public class Solution8 {

    public static void main(String[] args) {
        System.out.println(new Solution8().kthToLast(Utils.asNodeList(new int[]{1, 2, 3, 4, 5}), 2));
    }

    public int kthToLast(ListNode head, int k) {
        int size = 0;
        ListNode p = head;
        while (p != null) {
            size++;
            p = p.next;
        }

        p = head;
        while (size > k) {
            size--;
            p = p.next;
        }

        return p.val;
    }
}
